Optical codes or dataforms are patterns made up of image areas having different light-reflective or light-emissive properties, which are typically arranged in accordance with a priori rules and symbologies. The optical properties and patterns of the codes are selected to distinguish them in appearance from the background environments in which they are used. Electro-optical readers identify or extract data from the codes and are used in both fixed or portable installations in many diverse environments such as in stores for check-out services, in manufacturing locations for work flow and inventory control, and in transport vehicles for tracking package handling. The code is used as a rapid, generalized means of automatic data entry.
Many conventional readers are designed to read bar code symbols. Originally, symbols stored data in the widths and spacings of printed parallel lines, but more recently, symbols consist of patterns of dots and concentric circles, and are hidden within images. A one-dimensional bar code symbol consists of a linear pattern of variable-width rectangular bars separated by fixed or variable width spaces. The bars and spaces have different light-reflecting characteristics. One example of a one-dimensional bar code symbol is the UPC/EAN code used to identify, for example, product inventory. An example of a stacked bar code symbol is a PDF417 barcode, which is disclosed in U.S. Pat. No. 5,635,697. An example of a two-dimensional code is known as “MaxiCode”, which consists of a central finder or bull's eye center and a grid of hexagons surrounding the central finder.
A conventional moving laser beam-based reader is typically hand-held and generates a visible laser beam that is manually aimed by a user at a symbol to be read. The laser beam-based reader sweeps the laser beam and generates one or more visible scan lines in a scan pattern across the symbol that is located anywhere in a range of working distances from the reader. A light detector senses return laser light of variable intensity reflected or scattered from the symbol over each scan line, and generates a continuous analog signal corresponding to the light reflected or scattered from the symbol along each scan line. Signal processing circuitry includes a digitizer for converting the analog signal into a digital signal, and a programmed microprocessor for then decoding the digital signal to extract information from the symbol, such as an identity of an item with which the symbol is associated. A laser-based reader of this general type is disclosed, for example, in U.S. Pat. No. 4,251,798. A reader for detecting, decoding and reading one- and two-dimensional symbols is also disclosed in U.S. Pat. No. 5,561,283.
Both one- and two-dimensional symbols can also be read by employing solid-state imagers to capture an image of each symbol, instead of moving a laser beam across each symbol in a scan pattern. For example, the imager may comprise a one- or two-dimensional array of cells or photosensors, which correspond to image elements or pixels in a field of view of the imager. Such an array may be comprised of a one- or two-dimensional charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) device, analogous to those devices used in a digital camera to capture images. The imager further includes electronic circuitry for producing electrical signals indicative of the light captured by the array, and a microprocessor for processing the electrical signals to produce each captured image.
It is therefore known to use a CCD for capturing a monochrome image of a bar code symbol to be read as, for example, disclosed in U.S. Pat. No. 5,703,349. It is also known to use a CCD with multiple buried channels for capturing a full color image of a target as, for example, disclosed in U.S. Pat. No. 4,613,895. It is common to provide a two-dimensional CCD with a 640×480 resolution commonly found in VGA monitors, although other resolution sizes are possible.
Although generally satisfactory for its intended purpose of reading symbols, the use of an imager-based or imaging reader can be frustrating, because a user cannot tell whether the imager, or its field of view, or a hand-held housing in which the imager is mounted, is aimed directly at the target symbol such that the entire symbol can be read. The symbol can be located anywhere within a range of working distances toward and away from the reader, and/or above and below the reader, and/or sideways from the reader. Contrary to moving laser beam-based readers in which the user can see the laser beam as at least one visible scan line or visible aiming mark on the symbol, the imager is a passive unit and provides no precise visual feedback to the user to advise where the symbol is located in a captured image, and whether or not the symbol is entirely located within the field of view of the imager.
Electro-optical laser beam-based and imaging readers are both susceptible to so-called “short reads” of certain symbols. A short read is a mis-decode or mis-read, which happens when a fragment of the bar code symbol is decoded instead of the entire bar code symbol. For example, a symbol “ABCDEFG” is a short read if only its left fragmentary part “ABCDE”, or only its right fragmentary part “BCDEFG”, is decoded. Codabar, D2F, and MSI (with one check digit) symbologies are just some examples of less secure one-dimensional symbols or so-called “weak” symbols that can be short read. In order to decrease the chance of a mis-decode, the length of the symbol can be fixed or limited to a number of values, e.g., only eight character symbols are allowed, or in another example symbols having between five and seven characters are allowed.
However, information concerning the length of the symbol cannot be always determined in advance. The chance of a mis-decode in the imaging reader is increased by the fact that the symbol might only be partially included in the field of view of the imager, thereby leading to short reads. As noted above, the user does not have precise feedback, if any, about the location of the field of view of the imager relative to the symbol, as compared to the situation in a laser beam-based reader in which the user can see, aim and position the visible scan line across the entire length of the symbol. Thus, either due to parallax, careless aiming of the imaging reader, or simply pressing a trigger when moving the imaging reader, an image where the bar code symbol is only partially included in the image can be obtained. If the symbology is weak, as noted above, then an incorrect read typically occurs.
To alleviate such problems, the prior art proposed in U.S. Pat. No. 6,060,722 an aiming light pattern generator for an imaging reader. This known generator utilizes a diffractive element, a holographic element, or a Fresnel element, which generates a light interference pattern useful for framing the field of view. It is also known to use non-interferometric optical elements to project an aiming line as described in U.S. Pat. No. 6,069,748, which disclosed the use of a toroidal lens to project a single aiming line to guide a cutting tool. U.S. Pat. No. 7,182,260 disclosed the use of an optical element having a plurality of refractive structures to generate a light pattern on a symbol for framing the field of view of an imager.
However, the known light pattern generators produce patterns that are not well visible in high ambient light conditions, such as bright sunlight. Also, the known light pattern generators consume appreciable electrical power that is undesirable for a battery-powered imaging reader, occupy a non-negligible volume within the reader, and add undesirable weight to the reader.